#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QUrl>
#include <QUrlQuery>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
//    // 基本 URL
//    QString baseUrl = "http://www.zhihu.com/search?";
//    // 设置发送的数据
//    QByteArray bytes;
//    bytes.append("type=content&");
//    bytes.append(QString("q=%1").arg("Qt"));  // Qt 作为变量输入
//    // 组合 URL
//    baseUrl += bytes;
//    QUrl url(baseUrl);
//    qDebug() << url;

    //addQueryItem
    // 基本 URL
//    QString baseUrl = "http://www.zhihu.com/search";
//    QUrl url(baseUrl);
//    // key-value 对
//    QUrlQuery query;
//    query.addQueryItem("type", "content");
//    query.addQueryItem("q", "Qt");
//    url.setQuery(query);
//    qDebug() << url;

    //setQueryItems
    // 基本 URL
//    QString baseUrl = "http://www.zhihu.com/search";
//    QUrl url(baseUrl);
//    QUrlQuery query;
//    // key-value 对
//    QPair<QString, QString> pair;
//    pair.first = "type";
//    pair.second = "content";
//    QPair<QString, QString> pair2;
//    pair2.first = "q";
//    pair2.second = "Qt";
//    QList<QPair<QString, QString> > items;
//    items << pair << pair2;
//    query.setQueryItems(items);
//    url.setQuery(query);
//    qDebug() << url;
//    使用 setQuery：

    // 基本 URL
//    QString baseUrl = "http://www.zhihu.com/search";
//    QUrl url(baseUrl);
//    // 查询字符串
//    QUrlQuery query;
//    query.setQuery("type=content&q=Qt");
//    url.setQuery(query);
//    qDebug() << url;

//    //分隔符默认情况下，各个 key-value 对之间的分隔符为 '&'，而 key-value 之间的分隔符为 '='。
//    QChar pair = query.queryPairDelimiter();  // '&'
//    QChar value = query.queryValueDelimiter();  // '='
//    query.setQueryDelimiters('(', ')');

//    查询 查询所有的 key-value 对：
    //QList<QPair<QString, QString> > list = query.queryItems();
    // (QPair("type","content"), QPair("q","Qt"))
//    查询指定 key 对应的 value：
//    QString value = query.queryItemValue("q");
//    // "Qt"
    //查询 key-value 对合并的字符串：
//    QString queryString = url.query();
//    // "type=content&q=Qt"
    //查询指定 key 是否存在：
//    bool exist = query.hasQueryItem("q");
//    // true
   // 删除删除指定 key 对应的 key-value 对：
   // query.removeQueryItem("q");
    //清空当前存储的所有 key-value 对：
   // query.clear();
//    如果 QUrlQuery 对象不包含 key-value 对，则返回 true；否则，返回 false。
//    query.isEmpty();
}

MainWindow::~MainWindow()
{
    delete ui;
}
